فهرست
فهرست 1
مقدمه 4
تاریخچه 5
فصل اول 6
وب 6
1-1 واژه وب 7
1-2 خدمات وب 8
1-3 وب معانی گرا 9
1-3-1 لایههای وب معنایی 10
1-3-2 سیستمهای استدلال گر 12
1-4 مهندسی دانش 12
1-5 مزایای مربوط به خدمات وب 12
1-6 استاندارد های خدمات وب 13
1-6-1 پروتکل دسترسی آسان به اشیاء (SOAP) 13
1-6-2 زبان توصیف خدمات وب (WSDL) 13
1-6-3 شرح، کشف، و یکپارچهسازی فراگیر (UDDI) 13
1-7 HTML 14
1-8 مرورگر اینترنت 15
1-9 کنسرسیوم وب جهان شمول 16
1-10 قابلیت دسترسی وب 16
1-11 فناوری های کمکی، برای مرور وب 17
1-12 راهنمای طراحی محتوای وب دسترساتر 17
1-13 دسترسایی وب و دولت ها 18
1-14 قرارداد کنترل انتقال 18
فصل دوم 20
وب Caching 20
2-1 معماری وب 21
2-2 پروتکل های ترابری وب 21
2-3 انواع وب Caching ها 23
2-4 مکانیزم های وب Caching ها 24
فصل سوم 25
پراکسی 25
Firewall 27
Caching 27
Filtering 27
Authentication 27
Anonymization 28
Logging 28
3-2 پیکربندی مرورگر 29
3-3 کاربرد پراکسی در امنیت شبکه 30
3-4 پراکسی چیست؟ 30
پراکسی چه چیزی نیست؟ 30
پراکسی با Packet filter تفاوت دارد 31
پراکسی با Stateful packet filter تفاوت دارد 31
پراکسی ها یا Application Gateways 33
3-5 مزایای پراکسیها بعنوان ابزاری برای امنیت 34
3-6 برخی انواع پراکسی 34
3-6-1 SMTP Proxy 35
3-6-2 HTTP Proxy 37
3-6-3 FTP Proxy 40
3-6-4 DNS Proxy 41
فصل چهارم 44
سرور پراكسي چیست؟ 44
4-1 کاربردهای سرور پراكسي 45
4-2 ويژگيهاي سرور پراكسي 46
4-3 خدمات سرور پراكسي 48
4-4 معيارهاي موثر در انتخاب سرور پراكسي 49
فصل پنجم 51
HTCP 51
5-1 پروتکل HTCP 52
5-2 فرمت عمومی پیام های HTCP 53
5-2-1 فرمت سربار در پیام HTCP/*.*: 53
5-2-2 فرمت بخش داده ی پیام در HTCP/0.*: 54
فصل ششم 59
نرم افزار 59
6-1 درباره نرم افزار 60
6-2 بررسی ثوابت برنامه 62
6-3 تابع اصلی برنامه 62
6-4 توابع جانبی برنامه 63
6-4-1 تابع handle_connect 63
6-4-2 تابع handle_request 64
6-4-3 تابع clean_cache 64
6-4-4 تابع calculate_hash 65
6-4-5 تابع reaper 65
6-4-6 تابع granceful_exit 65
پیوست 66
منابع 82
مقدمه
در علم کامپیوتر به جمع آوری اطلاعاتی که دسترسی به منابع اصلی آنها پرهزینه و وقت گیر است Caching می گویند. به عبارت دیگرCaching محیطی است برای ذخیره اطلاعات در خواست شده. در ابتدا اطلاعات درCaching ذخیره می شود و در بازخوانی مجدد اطلاعات از آنها به جای اطلاعات اصلی در خواستی استفاده می شود ، در نتیجه مدت زمان کمتری برای دسترسی به اطلاعات مورد نیاز است. اين سيستم بين يك سرور و يك كامپيوتر WORK STATION (يعني كامپيوتري كه به كامپيوتر اصلي يا همان سرور متصل است) برقرار است. ملموس ترين مثال در مورد اينترنت ، مرورگري كه شما با آن كار مي كنيد است. اين مرورگر ظاهرا در حال برقراري ارتباط با يك سرور خارج از وب است اما در واقع به يك سرورپراكسي محلي متصل است. شايد بگوييد اين كار چه مزيتي دارد ؟ مزيت آن اين سيستم باعث افزايش سرعت دسترسي به اينترنت مي شود. چون سرور پراكسي صفحات وبي كه قبلا باز شده اند را در حافظه ذخيره ميكند ، هنگامي كه شما به اين صفحات اختياج داريد به جاي اينكه آن را از سايت اصلي و از محلي دور پيدا كنيد به راحتي و به سرعت آنها را از اين دستگاه برمي داريد.
تاریخچه
استفاده از عبارت Caching در ادبیات کامپیوتر به مقاله ای در مورد مفهوم سرچشمه گرفتن علم کامپیوتر در مجله IBM در سال 1967 باز می گردد. این مقاله مربوط به حافظه های موجود در مدل های 85 و مدل در حال ساخت 360 بود که در آن Lyle R. Johnson ویراستار مجله از تکنولوژی جدید بافر با سرت بالاتر صحبت به میان آورد و در حالی که کسی به این موضوع فکر نمی کرد او عبارت Caching را که از کلمه Caching در زبان فرانسه به معنای مخفی را پیشنهاد کرد. این مقاله در سال 1968 انتشار یافت و IBM از نویسنده آن تجلیل و قدر دانی به عمل آورد. عبارت Caching پس از مدت کوتاهی به استاندارد پیوست و در ادبیات کامپیوتر مورد استفاده قرار گرفت.
فصل اول
وب
وب جهانشمول٬ وب جهانگستر٬ یا به طور ساده وب عمدهترین محیط خدماتی اینترنت است که امکانات چند رسانهای برای دستیابی به دادهها٬ اطلاعات٬ و دانش را در اختیار کاربران قرار میدهد.
وب یک فضای جهانی اطلاعات است که مردم می توانند توسط اینترنت در آن بخوانند یا بنویسند.
1-1 واژه وب
واژهٔ وب (به معنی تار) در بسیاری از ترکیبات «اینترنتی» می آید. کم کم «وب» بهعنوان واژهٔ بینالمللی جا افتاده و به منظورهای مختلفی به کار میرود. این واژه معمولاً به صورت اشتباه به جای اینترنت به کار می رود اما وب در حقیقت یکی از خدماتی است که روی اینترنت ارایه میشود (مانند پست الکترونیکی).
همچنین٬ وب مخفف کلمه وبسایت است مکان و منظور از وب سایت صفحات مرتبط است. واژهٔ وبگاه در پارسی گزینه وبسایت شده است.
طرّاحی و معماری وب بر پایه مشارکتها، همکاریها، و تعاملات، انسانها، ماشینها، نرمافزار، و عاملهای هوشمند با یکدیگر استوار است.
وب بسیار محدودتر و سادهتر بود، و تنها تعدادی نسبتاً اندک از مؤسّسات گوناگون، دانشگاهها، مراکز تبلیغاتی و غیره به ایجاد مطلب و محتوا بر روی آن مبادرت مینمودند. این، در حالی بود که کاربران در وب تنها امکان دسترسی به اطّلاعات موجود و استفاده از آنها را داشتند و نه توان ایجاد و یا تغییر را در وب سایت، کاربران قادرند خود به ایجاد و خلق محتوا اقدام نمایند، آن را ساماندهی و تنظیم کنند، دیگران را در اطّلاعات و داشتههای خود شریک و سهیم سازند، و یا به انتقاد و تغییر بپردازند.
1-2 خدمات وب
با کمک فنآوری خدمات وب میشود سرویسها و خدمتهای گوناگون را در روی اینترنت پراکنده کرد. منظور از خدمت، واحدی کوچک یا بزرگ از نرمافزار آماده به کار است که میتواند کار یا خدمتی را برای مشترکان خود انجام دهد. .
در دههٔ 1980 میلادی، با پیدایش شبکههای رایانهای نوعی تازه از محاسبات به نام محاسبات توزیع شده معمول گردید. در این شیوهٔ نو، سازمانهای بزرگ قادر گردیدند هم دادهها و هم پایگاه دادههای (دادگانها) خود را به پارههای کوچکتر بخش کرده و در روی شبکهای که ما بین نقاط مختلف برقرار بود، توزیع نمایند. طرّاحی، ساخت و نگهداری چنین سامانههای پیچیدهای، تنها با پذیرش دشواریهای فراوان در آن دوران امکانپذیر میشد. بیشترین چالشها، از ناحیهٔ عدم وجود برنامههای کامپیوتری شئگرا و بسیار بلند تراز (very High level) همچون جاوا و بخصوص سکّوی بلندتر از آن یعنی J2EE درآن روزگار بود. هر چند فرایند توزیع محاسبات بر روی شبکهها با ورود به دهه 1990 آسانتر شد، پیچیدگی زیاد اینگونه سامانهها حل نهایی مشکلات و پیشرفتهای اساسی را ناممکن کرده بود. به عنوان شواهد این مدعا میتوان به چالشهای وراء تحمل در اجرای روشهایی همچون CORBA، RMI و DCOM اشاره نمود. حل گسترشپذیر (Scalable) اینگونه مسایل مهندسی با ورود فن آوری XML به صحنه محاسبات نو، با نویدها و امیدهای تازهای همراه گردید.
خدمات وب به بسیاری از شاخههای دیگر در اینترنت مدرن مربوط است که عبور بدون شرح کوتاهی از هریک از این مطالب غیر ممکن است.
1-3 وب معانی گرا
وب معنایی را میشود فضایی جهانی از جنس محاسبات هوشمند ماشینی تصوّر کرد که در آن تمامی کتابها، کتابخانهها دانشها، دانشنامهها و دانشگانها (پایگاههای دانش - Knowledge bases) به صورتی معنیگرا و با توانایی درک مفهومی همدیگر در کنار هم قرار خواهند گرفت. آقايTim Berners Lee ، که معروف به پدر وب است، آينده وب را بصورتي بيان کرده که بر خلاف وب کنوني فقط توسط انسان ها قابل فهم نباشد بلکه توسط ماشين ها نيز قابل درک و پردازش است. ايده وب معنايي نيز از همين نکته منشا مي گيرد. در زير سه تعريف مختلف از وب معنايي ارائه شده است:
• پروژه اي با هدف ايجاد رسانه اي جهاني براي رد و بدل کردن اطلاعات بصورتي که براي کامپيوتر قابل فهم و پردازش باشد.
• وب معنايي، شبکه اي از اطلاعات در مقياس جهاني است به نحوي است که پردازش آنها توسط ماشين ها به سادگي امکان پذير است.
• وب معنايي شامل داده هاي هوشمند وب است که توسط ماشين ها قابل پردازش است.
هر چند نزدیکی به تحقّقّ ایجاد چنان فضایی محتاج پیشرفتهایی جدید و کلّی نگرانه در بسیاری از زمینههای مهندسی، ریاضی، هوش مصنوعی، و به ویژه در زبانشناسی، فلسفه، و بسیاری از معارف دیگر انسانی خواهد بود، گامهای اوّلیّه در این سمت برداشته شده است.
1-3-1 لایههای وب معنایی
مولّفههای وب معنایی (Components of the Semantic Web): بسیاری از استانداردها و ابزارهای وابسته به فنّاوری XML را میتوان به اینترنت آینده و وب معانینگر نیز مربوط دانست. از آن جمله باید شمای XML (XML Schema)، چارچوب شرح منابع (Resource Descrption Framework-RDF)، شمای RDF (RDF schema)، و زبان هستیشناسی وب (Web Ontology LANGUAGE - OWL) را برشمرد.
RDF که زبان پايه استفاده شده در وب معنايي است بر پايه XML بنا نهاده شده اند. XML نيز خود بر اساس Unicode و URI بنا نهاده شده است بنابراين از زبانهاي مختلف پشتيباني مي کند. از URI نيز براي مشخص کردن مفاهيم در وب معنايي استفاده مي شود، براي مثال URL نوعي URI است که براي مشخص کردن منابع در وب استفاده مي شود. قسمت اصلي وب معنايي آنتولوژي ها هستند که ارتباط بين برچسب هاي اسناد وب معنايي و اشيا واقعي که اسناد مذکور آنها را تشريح مي کنند، برقرار مي کند. در بالاي آنتولوژي قواعد قرار دارد که با استفاده از آنها مي توان دانش جديدي را از دانش موجود نتيجه گرفت. در صورتي که يک چهارچوب استاندارد براي قواعد موجود بوجود آوريم، مي توانيم به اثبات برسيم و اثبات هاي بدست آمده را در کاربرد هاي مختلف به اشتراک بگذاريم. یکی از اهداف وب معنایی رسیدن به اطمینان است که در بالاترین لایه قرار دارد. در این جهت استانداردهای گوناگونی در حال شکلگیری و استفادهاند. از این میان میتوان FOAF که استانداردی برای ایجاد شبکه اجتماعی است، را نام برد.
زبان تشريح منابع Resource Description Language: زبان HTML که در وب کنوني استفاده مي شود توانايي بيان اشيا و روابط بين آنها در وب را ندارد. بنابراين زبان ديگري جهت استفاده در وب معنايي بوجود آمده که RDF نام دارد. RDF زباني است بر اساس XML که جهت تشريح مفاهيم و ايجاد اسناد در وب معنايي بوجود آمده است. اسناد RDF در واقع حاوي توضيحاتي در مورد اطلاعات در وب معنايي هستند به نحوي که آنها را قابل درک براي ماشين ها مي کند. همان طور که در شکل روبرو نشان داده شده است، هر عبارت در RDF بصورت سه قسمت فاعل، گزاره و مفعول بيان مي شود. گزاره و فاعل خود از نوع منبع هستند و مفعول نيز مي تواند از نوع منبع (Resource) يا رشته اي ثابت (Literal) باشد. براي مثال به جملات زير توجه کنيد:
Buddy Belden owns a business
The business has a Web site accessible at
http://www.c2i2.com/~budstv
Buddy is the father of Lynne
اين جملات ممکن است در اسناد يا نامه هاي يک شرکت موجود باشد و در صورت بيان آنها بصورتي استاندارد مي توان از آنها به عنوان دانش در شرکت استفاده کرد. جملات بالا را مي توان به صورت سه تايي هاي زير مطرح کرد:
<#Buddy><#owns><#business>
<#business><#has-website><http://www.c2i2.com/~budstv>
<#Buddy><#father-of><#Lynne>
سه تايي هاي بالا به زبان N3 مطرح شده اند و علامت # نشان مي هد که URI مفهوم مربوطه، سند جاري مي باشد. همچنين ابزارهايي جهت نمايش اسناد RDF بصورت گرافي وجود دارد.
1-3-2 سیستمهای استدلال گر
از آنجا که هدف وب معانی نگر فراهمسازی منابع اینترنتی قابل فهم مستقیم و بدون واسطه توسط ماشین است، توانایی بر پردازش زبان هستیشناسی وب یکی از ویژگیهای عمده در سامانههاییست که در آینده به بهرهبرداری از این گونه منابع نیاز دارند.
آینده اینترنت کنونی را باید در وب معنی گرا دانست. وب کنونی برای استفاده کاربران انسانیست، ولی اینترنت جدید فضاییست جهت همکاریهای دو سره و چندسره انسان - انسان، انسان - ماشین، و بالاخره ماشین - ماشین و هر ترکیبی از اینها، به هر تعداد، و ازهر کجای عالم. خدمات وب تنها گامی ست اولیه در این سو.
1-4 مهندسی دانش
از آنجا که علوم رایانه را باید تلاشی فراگیر در راستای ماشینی کردن توان اندیشه گری در نوع انسان دانست، به زودی دانستههای بشر در هر یک از زمینه ها آنقدر عظیم خواهد شد که تنها و تنها خود ماشین قادر به یادگیری و استفاده از آن همه علم خواهد بود. این امر را میشود انگیزه اصلی در مهندسی دانش دانست.
1-5 مزایای مربوط به خدمات وب
بزرگترین مزیت روش نو از ناحیهٔ حضور XML در اکثر ساختارهای مربوط به خدمات وب میآید. نیاز به آن همه XML به خاطر غلبه بر عدم مقیاس پذیری شیوههای پیشین در مهندسی و ساخت اینترت است. از آنجا که XML متن گراست text-based، شمهای از نرمی و انعطاف پزیری شگفت آوری که در زبان انسان موجود است با سختی و شکنندگی روشهای ماشینی ترکیب شده و ما را به ساخت سامانههای بسیار گسترش پذیر توانا میگرداند.
1-6 استاندارد های خدمات وب
1-6-1 پروتکل دسترسی آسان به اشیاء (SOAP)
بر اساس پروتکل دستیابی آسان به اشیاء است که تمامی خدمات وب به گردش در میآید. منظور از پروتکل، مجموعه شرح قواعد و فرمت های مربوط به ارسال پیامهای مخابراتی از یک ماشین به ماشین دیگر است. SOAP پروتکل سادهای ست که به منظور سازگاری با سکوهای مختلف و نیز سیستمهای عامل گوناگون نوشته شده است. هدف اساسی این پروتکل را باید امکان پذیری مخابرات ماشین به ماشین در محیط های محاسباتی نامتجانس ذکر کرد.
1-6-2 زبان توصیف خدمات وب (WSDL)
هر چه بیشتر پرتکلهای مخابراتی و فرمت پیامها بر روی وب به سمت استاندارد شدن پیش میرود، امکان و اهمیت توصیف مخابرات و امور تبادل یافته، به شیوههای ساختارپذیر نیز فزونی مییابد. زبان توصیف خدمات وب درست به منظور برآورده نمودن همین نیاز ابداع گردیده است، و این مهم را با تعریف یک گرامر XML انجام میدهد. این گرامر به خصوص، خدمات موجود در شبکه را به صورت مجموعههایی از نقاط پایانی مخابراتی بیان مینماید که قادرند به تبادل پیام های مخابراتی بپردازند مبادرت ورزند.
1-6-3 شرح، کشف، و یکپارچهسازی فراگیر (UDDI )
به وسیله فناوری شرح، کشف، و یکپارچهسازی فراگیر میتوان به انتشار و نیز جستجوی خدمات وب اقدام کرد. این فناوری، خدمات وب را سامان داده، و پس از شرح آن ها، اطلاعات بدست آمده را در یک جایگاه مرکزی قرار میدهد.
1-7 HTML
HTML، سنگ بنای وب است؛ یک زبان برای نشانه گذاری ابر متن که برای تدوین قالب و طراحی صفحههای وب به کار برده میشود. دستورالعملهای این زبان، برچسب (Tag) نام دارند که محتوای یک صفحهٔ وب، به وسیلهٔ آنها، نشانهگذاری شده و بدینترتیب، نحوهٔ نمایش آن صفحه برای مرورگرهای وِب، توصیف میشود.
هر یک از برچسبهای HTML، معنا و مفهوم خاصی دارند و تأثیر مشخصی بر محتوا میگذارند؛ مثلاً برچسبهایی برای تغییر شکل ظاهری متن، نظیر درشت و ضخیم کردن یک کلمه یا برقراری پیوند (Link) به صفحات دیگر در HTML تعریف شدهاند.
یک سند HTML، یک پرونده مبتنی بر متن (Text–based) است که معمولاً با پسوند .htm یا .html نامگذاری شده و محتویات آن از برچسبهای HTML تشکیل میشود. مرورگرهای وب، که قادر به درک و تفسیر برچسبهای HTML هستند، تک تک آنها را از داخل سند HTML خوانده و سپس محتوای آن صفحه را نمایانسازی میکنند.
HTML یک زبان برنامهنویسی نیست، بلکه زبانی برای نشانهگذاری ابرمتن است و اساساً برای ساختمندکردن اطلاعات و تفکیک اجزای منطقی یک نوشتار نظیر عناوین، تصاویر، فهرستها، بندها و جداول به کار میرود. از سوی دیگر، HTML را نباید به عنوان زبانی برای صفحهآرایی یا نقاشی صفحات وب به کار بُرد؛ این وظیفه اکنون بر دوش فناوریهای دیگری چون شیوهنامههای آبشاری است.
گفتنی است HTML شکلی از زبان دیگری بنام SJML است و «کنسرسیوم وب جهان گستر» آن را به عنوان استانداردی برای نشانهگذاری مستندات ابرمتنی برای عرضه در وب، تدوین کرده است.
1-8 مرورگر اینترنت
مرورگر یا جستجوگر به برنامههایی گفته میشود که به وسیلهٔ آنها میتوان از وبگاههای مختلف اینترنتی بازدید كرد. برای مثال در سیستم عامل ویندوز جستجوگری به نام اینترنت اکسپلورر وجود دارد و همچنین در سیستم عامل لینوکس مرورگر کد باز موزیلا فایرفاکس قرار دارد. علاوه بر این دو مرورگر نت اسکیپ را هم میتوان معرفی کرد.
گفته می شود که سفری سریعترین مرورگر بر روی انواع پلتفرم ها و سیستم عامل ها می باشد و از قابلیت هایی همچون مرور صفحات در قالب Tab، خبرخوان RSS، پرکننده خودکار فرمها، جست و جوی خصوصی، امنیت بهتر، رابط کاربری بسیار کاربر پسند و ... برخوردار می باشد.
مرورگرهای اینترنت :
1. اینترنت اکسپلورر
2. موزیلا
3. اپرا
4. نت اسکیپ
5. سافاری
6. لینکس(lynx)
1-9 کنسرسیوم وب جهان شمول
کنسرسیوم جهان وبی یا کنسرسیوم وب جهانشمول کنسرسیومی است که استانداردهای نرمافزاری لازم را برای وب جهانگستر تولید میکند. ریاست این شرکت به دست تیم برنرز لی است. وی مخترع تعدادی از اصلیترین فناوریهایی است که وب بهدست آنها به شکل امروزی خود در آمده است. از جملهٔ این فناوریها میتوان به URL یا مشخص کنندهٔ یکتای منبع، قرارداد انتقال ابرمتن و HTML اشاره کرد.
دلیل وجودی این کنسرسیوم کسب اطمینان در مورد سازگار و توافق میان اعضای شرکتهای مختلف در زمینهٔ استفاده از استانداردهای نو است.
1-10 قابلیت دسترسی وب
دسترسایی وب (Web Accessibility)، توانایی دستیابی آسان و استفاده برابر از منابع جهانی داده ها و اطلاعات صفحه های وب برای همه کاربران، حتی کاربرانی که به نوعی از معلولیتهای انسانی رنج میبرند. سایت های وبی که درست طراحی و ویرایش شده و بر مبنای استانداردهای وب برپا شده باشند، برای همه کاربران با هرگونه توانمندی جسمی، به گونه ای یکسان در دسترس خواهند بود. برای نمونه صفحه ای از وب که با استانداردهای وب طراحی شده و کُد ابرمتن (HTML) آن درست نوشته شده باشد، پیوندهای آن (link) دارای نامگذاری نهفته در کُد، و تصویرهای آن (img) دارای متن های جایگزین تصویر باشد، به کاربران نابینا کمک می کند تا با نرم افزارهای تبدیل متن به گفتار و یا سخت افزارهای تبدیل متن به خط بریل، بتوانند به داده های صفحه دسترسی داشته باشند.
1-11 فناوری های کمکی، برای مرور وب
کاربرانی که ناتوانی های جسمی و ذهنی دارند، با سود جستن از فن آوری های زیر، وب را مرور می کنند:
• نرم افزارهای صفحه خوان: هرآنچه بر سطح نمایشگر رایانه نوشته شده را برای فرد می خواند، برای نمونه صفحه وب. کد های وب نا استاندارد این نرم افزار را گمراه می کنند.
• ترمینال بریل: دستگاهی که هر آنچه بر روی صفحه نمایشگر می آید را به خط بریل برجسته می سازد و به صفحه کلیدی به خط بریل برای نابینایان وصل شده.
• نرم افزارهای بزرگنمایی: بخشی از صفحه را به گونه ای بزرگتر نمایش می دهند، تا کاربرانی که بینایی اندک دارند بتوانند آنرا بخوانند.
• نرم افزارهای تشخیص صدا: با گفتن فرمانهایی، این نرم افزار آنها را به رایانه فرستاده و به خواسته کاربر کارهایی را انجام می دهد، همچنین گفتار را به متنی با دستور زبان درست در رایانه می نویسد. برای کاربرانی که مشکل استفاده از موش و صفحه کلید دارند.
• پوشش های صفحه کلید: برای روان تر ساختن کار تایپ بر روی صفحه کلید.
1-12 راهنمای طراحی محتوای وب دسترساتر
در سال ۱۹۹۹ میلادی، گروه دسترسایی وب (WAI) وابسته به کنسرسیوم جهانی وب، نسخه نخست راهنمای کلی و خط کشی های زیربنایی دسترسایی وب (WCAG 1.0) را انتشار دارد. این راهنما اکنون در همه جهان به عنوان راهنمای کلی و خط کشی زیر بنایی دسترسایی در وب پذیرفته شده است. از سال ۲۰۰۳ تاکنون این گروه بر روی نسخه دوم (WCAG 2.0) این راهنما کار می کند که اکنون گامهای واپسین خود را برای به روز بودن، و همگام بودن با استانداردهای صنعتی می پیماید.
1-13 دسترسایی وب و دولت ها
قانونها و قراردادهای مربوط به دسترسایی وب، در کشورهای کانادا، فیلیپین، انگلستان، اسپانیا، استرالیا، سوئد و ایرلند پذیرفته شده و در شماری از این کشورها، برای همه دستگاهها و نهادهای کشوری ضروری است. در کانادا برای نمونه، همه دستگاهای فدرال مجبورند قانونهای مربوط به دسترسایی وب و گونه نمایش سایت وب خود را همانند راهنمای کنسرسیوم وب رعایت کنند. افزون بر آن، شماری از این کشورها قانونهای محلی خود را نیز به این راهنما افزوده اند.
1-14 قرارداد کنترل انتقال
TCP، مخفف Transmission Control Protocol ، مجموعه از پروتکلهاي قراردادي است که پايه و اساس اينترنت شده است.
معماري پروتکل TCP نتيجه ي تحقيق بر روي پروتکل و توسعه ي هدايت شده اي بر روي شبکه هاي سوئيچينگ بسته اي مي باشد و به طور کلي مجموعه پروتکل هاي TCP ناميده ميشود. TCP (بر اساس IPv4) شامل چهار لايه است:
1. لايه دسترسي به شبکه (Network Interface Physical)
2. لايه ارتباط اينترنتي يا اينترنت( Internet)
3. لايه ارتباطات ميزبان به ميزبان يا انتقال( Transport)
4. لايه سرويسهاي کاربردي(Application)
براي برقراري يك ارتباط گفتاري بوسيله اينترنت ، در لايه انتقال از دو پروتكل TCP و UDP استفاده مي شود. پروتكل TCP انتقال داده را با دقت و امنيت بالا انجام مي دهد در حاليكه ويژگي پروتكل UDP انتقال سريع اطلاعات، بدون در نظر گرفتن مسائل امنيتي براي انتقال داده، است.
فصل دوم
وب Caching
2-1 معماری وب
قبل از آنکه ما بتوانیم در مورد Caching بحث کنیم ، بهتر است با بعضی از اصطلاحات آشنا شویم. اجزای بنیادی وب را سرورها و کاربران ایجاد می کنند. وب سرورها از یک یا چند منبع تشکیل شده اند و قابل کنترل هستند و منابع اصولا از تعدادی فایل ، عکس و مقداری متن تهیه شده اند و با پایگاه داده در ارتباط اند. کاربران درخواست های خود را برای سرور فرستاده و سرور این در خواست ها را پردازش کرده و پاسخ مناسب را برای آنها ارسال می کند.
2-2 پروتکل های ترابری وب
سرورها و کاربران از تعدادی پروتکل متفاوت برای تبادل اطلاعات استفاده می کنند که این پروتکل ها زیر شاخه هایی از پروتکل TCP/IP است. HTTP یکی از معروف ترین آنهاست که یک رکن اصلی طراحی شده برای صفحات وب است و تعدادی از پروتکل های مشابه مانند FTP و Gopher پروتکل های قدیمی و SSL و RTP پروتکل های جدید تر که امروزه در حال استفاده هستند.
HTTP: Hypertext Transfer Protocol یک پروتکل ارتباطی است که برای انتقال و تبدیل اطلاعات در وب استفاده میشود. از این پروتکل برای استخراج مستنداتی که بصورت پیوند در دیگر مستندات قرار گرفته اند استفاده می شود. این راهکار منجر به تولید محتوی وب می شود. تولید و توسعه این پروتکل به عهده دو موسسه کنسرسیوم وب جهانگستر Internet Engineering Task Force (IETF) می باشد. این دو موسسه با یکدیگر در نشر مستندات RFC همکاری می کنند، مانند RFC 2616 که استاندارد HTTP 1.1 ( نسخه جاری این پروتکل) در آن آمده است. این پروتکل استانداردی برای راسال درخواست به سرور و دریافت پاسخ از آن می باشد. سرور در اینجا یک سایت می باشد که پاسخ آن را مشتری دریافت می کند.
در واقع مشتری کاربر نهایی سرور می باشد. مشتری در خواست خود را که یک http request می باشد را به کمک ابزارهایی مانند وب گردها web browser یا برنامه های مشابه که user agent نامیده می شوند،برای سرور ارسال می کند. به سروری که منابع ی مانند فایل های HTML یا تصاویر را ایجاد یا ذخیره می کند اصطلاحا origin server گفته می شود.
FTP: پروتکلی است که در شبکههای رایانهای برای انتقال پرونده از مبدا به مقصد مورد استفاده قرار میگیرد.
در میان رایانه های میزبانFTP به طور ویژه، یک قرارداد متداول برای تبادل فرمانها و پروندهها در هر شبکه پشتیبانیکننده از پروتکُل TCP/IP (مانند اینترنت و اینترانت) است. پورت پیشفرض برای سرویسFTP پورت 21/TCP و برای انتقال داده از پورت 20/TCP استفاده میکند .
در یک انتقالFTP دو رایانه دخیل هستند، یک سرویسدهنده و یک کاربر. سرویسدهنده FTP، برنامههای سرویسدهندهFTP را اجرا میکند و درخواست پذیرش در شبکه، از طرف رایانه دیگر یعنی کاربر مطرح میشود. رایانه کاربر برنامههای کاربریFTP را اجرا و یک ارتباط با سرویسدهنده بر قرار میکند.
هنگامی که یک ارتباط برقرار میشود، کاربر میتواند تعدادی از برنامهها را تغییر دهد (دستکاری محدود)، مانند بارگذاری کردن پرونده در سرویسدهنده و پیاده کردن پرونده از سرویسدهنده یا تغییر نام دادن یا پاک کردن پروندهها در سرویسدهنده و مانند اینها.
هر شرکت برنامه ساز، یا یک برنامه ساز شخصی قادر است یک سرویسدهندهFTP یا برنامههای کاربری ایجاد کند. چرا که این پروتکلی آزاد است.
در واقع همه بسترهای رایانهای از پروتکلFTP پشتیبانی میکنند و به هر ارتباط کامپیوتری که بر اساس TCP/IP باشد صرف نظر از این که از چه سیستم عاملی استفاده میشود، اگر رایانه ها اجازه دسترسی بهFTP را داشته باشند، این اجازه را میدهد که در پروندههای رایانه دیگر در این شبکه تغییراتی ایجاد کند.
SSL: پروتکل SSL در سال 1994 توسط Netscape برای تجارت در اینترنت اختراع شد. SSL امنیت را بین سرور و کاربران ایجاد کرد. IETF باعث پیشرفت SSL شد و این پروتکل را استاندارد کرد و با نام TLS ارائه کرد.
Gopher: پروتکل Gopher به آهستگی به میدان وارد شد اما به زودی از میان رفت. این پروتکل که بسیار شبیه به HTTP/0.9 بود ا طرف کاربران یک خط درخواست با حجم و محتوای متفاوت را به هر یک از سرورهایی که پاسخ می دهند می فرستد و این امکان را می دهد تا کاربران اطلاعات و فایلها ذخیره شده در اینترنت را با مجموعه ای دستورات پیدا کند.
2-3 انواع وب Caching ها
وب Caching ها انواع و روشهای متفاوتی برای ذخیره ی صفحات دارند. Caching مرورگرهاکه عملکرد آنها شبیه به مرورگرهای اینترنتی است که به صورت خصصی عمل می کنند و فقط به 1 کاربر خدمات می دهند ولی در حالت میانه می توان اطلاعات ذخیره شده را برای بیش از یکنفر به اشتراک گذاشت.
پراکسی Caching ها معمولا توسط خدمات دهندگان اینترنت (ISP) ، مدارس و موسسات برای کاهش حجم پهنای باند مورد استفاده قرار می گیرد.
2-4 مکانیزم های وب Caching ها
برای کنترل ذخیره ی صفحات وب سه مکانیزم اصلی وجود دارد :
• Freshness : در این روش به سیستم اجازه داده می شود تا بدون چک کردن سرور اصلی اطلاعات را بازگرداند و این روش توسط سرور و کاربر قابل کنترل است. برای مثال اطلاعات منقرض شده قبل از بروز رسانی توسط این سیستم قابل مشاهده و کنترل است.
• Validation : در این روش اعتبار اطلاعات قبلی پیش از بروز رسانی چک می شود و در صورت معتبر بودن آنها اطلاعات قبلی رل باز می گرداند. بعنوان مثال اگر اطلاعات ذخیره شده مربوط به ماه گذشته باشد ابتدا اطلاعات قبلی را با اطلاعات اصلی چک می کند و در صورتی که تغییری نکرده باشد آنها را نمایش خواهد داد.
• Invalidation : این روش مخالف روش Validation است به این صورت که برای اطلاعات ذخیره شده یک تاریخ انقضا در نظر گرفته می شود و اگر موعد تاریخ مورد نظر سر برسد اطلاعات جدید را جایگزین اطلاعات قبلی می کند. بطور مثال اگر یک سایت در ظرف مدت یک روز دو بار تغییر کند و تاریخ آن یک روزه باشد تغییرات دوم باعث ثبت دوباره اطلاعات نخواهد شد و همواره تغییرات اول نمایش داده خواهد شد.
فصل سوم پراکسی
در یک تشکیلات که از اینترنت استفاده میکند، یک پراکسی ترکیبی از سختافزار و نرمافزار است که بعنوان یک واسطه بین کاربر داخلی و اینترنت عمل میکند به طوریکه امنیت، نظارت مدیریتی و سرویسهای Caching تامین میشود. یک سرور پراکسی دارای پروتکل مشخصی است، بنابراین برای هرنوع پروتکلی (HTTP ، FTP ، Gogher و غیره) باید تنظیم شود. پراکسی سرور بعنوان بخشی از یک سرور Gateway (نقطهای در یک شبکه که ورودی به شبکهای دیگر است) رفتار میکند و میتواند برای انجام یک یا چند تابع که در بخش بعد به آن اشاره میشود، تنظیم شود.
شکل 3-1
3-1 عملکردهایی که پراکسی سرور میتواند داشته باشد
با تعریفی که از یک پراکسی ارائه شد، میتوان از پراکسی برای بهبود عملکرد یک شبکه استفادههایی کرد که در اینجا به چند مورد آن به اختصار اشاره میکنیم:
Firewall
برای سازمانی که فایروال دارد، پراکسی سرور تقاضاهای کاربران را به فایروال میدهد که با آنها اجازه ورود یا خروج به شبکه داخلی را میدهد.
Caching
سرور پراکسی که عمل caching را انجام میدهد، منابعی مانند صفحات وب و فایلها را ذخیره میکند هنگامی که یک منبع مورد دسترسی قرار گرفت، در سرور دخیره میشود و تقاضاهای بعدی برای همین منبع مشخص با محتویات cache پاسخ داده میشود. این عمل، دسترسی به آن منبع را برای کاربرانی که از طریق پراکسی به اینترنت متصل هستند، سرعت میبخشد و از طرفی از ترافیک اینترنت میکاهد و اجازه استفاده بهتر از پهنای باند به کاربران داده میشود.
Filtering
سرور پراکسی میتواند ترافیک وارد شونده و خارج شونده از شبکه را بررسی کند و به آنچه که با معیارهای امنیتی یا سیاست سازمان مغایرت دارد، اجازه عبور ندهد.
Authentication
بسیاری منابع الکترونیکی سازمانی توسط ورود با کلمه رمز یا قرار داشتن در دامنه مشخصی از IP محدود شدهاند. کاربران دور معمولاً از یک سرویسدهنده اینترنت ثالث استفاده میکنند که در این صورت این کاربر یا IP کامپیوتر آن برای سازمان معتبر تشخیص داده نمیشود. برای کاربرانی که بصورت فیزیکی به شبکه داخلی سازمان متصل نشدهاند، پراکسی طوری عمل میکند که به کاربران دور اجازه ورود موقت داده شود یا به آنها بطور موقت یک IP سازمان تخصیص داده شود که بتوانند به منابع محدود شده دسترسی پیدا کنند.
Anonymization
برای محافظت شبکه داخلی یک سازمان از کاربران موجود در اینترنت، سرور پراکسی میتواند هویت سیستمهای متقاضی داخلی را تغییر دهد. اگر منبع (مثلاً صفحه وب یا فایل) تقاضا شده توسط کاربر داخلی سازمان، در cache موجود نباشد، سرور پراکسی برای آن کاربر، بعنوان کاربر عمل میکند و از یکی از آدرسهای IP خودش برای تقاضای آن منبع از سرور موجود در اینترنت استفاده میکند. این آدرس IP موقت، آدرسی نیست که واقعاً در شبکه داخلی سازمان استفاده گردد و در نتیجه از بعضی از حملههای نفوذگران جلوگیری میشود. هنگامی که صفحه تقاضا شده، از طرف سرور روی اینترنت به پراکسی سرور میرسد، پراکسی سرور آن را به تقاضای اولیه مرتبط میکند و برای کاربر میفرستد. این پروسه تغییر دادن IP باعث میشود که تقاضا دهنده اولیه قابل ردیابی نباشد و همچنین معماری شبکه سازمان از دید بیرونی مخفی بماند.
Logging
پراکسی سرور میتواند تقاضاها را بهمراه اطلاعات لازم در جایی ثبت کند تا بعداً امکان پیگیری اعمال کاربران داخل سازمان فراهم شود.